____ _ _ _ _
| _ \ ___ | |_ (_) _ __ ___ __| | (_) __ _
| |_) | / _ \ | __| | | | '_ \ / _ \ / _| | | | / _ |
| _ < | __/ | |_ | | | |_) | | __/ | (_| | | | | (_| |
|_| \_\ \___| \__| |_| | .__/ \___| \__,_| |_| \__,_|
|_|
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Baum (Graphentheorie)
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
Ein Baum ist in der Graphentheorie ein spezieller Typ von Graph, der zusammenhängend ist und keine geschlossenen Pfade enthält, d. h. ein Graph, mit dem sich eine Monohierarchie modellieren lässt. Je nachdem, ob die Kanten des Baums eine ausgezeichnete und einheitliche Richtung besitzen, lassen sich graphentheoretische Bäume unterteilen in ungerichtete Bäume und gewurzelte Bäume, und für gewurzelte Bäume in Out-Trees, bei denen die Kanten von der Wurzel ausgehen, und In-Trees, bei denen Kanten in Richtung Wurzel zeigen.
Contents
• Beweise
• Wald
• k-Baum
• Weblinks
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Definitionen
Ein Baum ist ein zusammenhängender kreisfreier ungerichteter Graph. Die Knoten mit Grad 1 heißen Blätter, die übrigen Knoten heißen innere Knoten.
Ein gerichteter Baum ist ein gerichteter Graph, der ein ungerichteter Baum ist, wenn man die Richtungen der Kanten ignoriert. Er ist also ein gerichteter schwach zusammenhängender kreisfreier Graph. Bei vielen Autoren müssen die Richtungen einheitlich von einem Knoten weg oder auf einen Knoten zu orientiert sein. Dafür gibt es aber auch den schärferen Begriff des gewurzelten Baums.
Ein gewurzelter Baum ist ein gerichteter von einem Knoten w {\displaystyle w} aus zusammenhängender kreisfreier Graph. Der den Zusammenhang definierende Knoten w {\displaystyle w} wird Wurzel genannt. Er hat Eingangsgrad 0 und ist der einzige Knoten mit dieser Eigenschaft. Alle Knoten mit Ausgangsgrad 0 heißen Blätter. Alle Knoten mit positivem Ausgangsgrad heißen innere Knoten. Dies ist die Definition eines Out-Trees. Werden die Richtungen aller Kanten eines solchen Graphen invertiert, so wird er zu einem In-Tree. Dieser wird ebenfalls als gewurzelter Baum angesehen.
Man kann jeden ungerichteten Baum an einem beliebigen Knoten w {\displaystyle w} fassen und „schütteln“ – die Schwerkraft gibt allen Kanten eine definierte Richtung von w {\displaystyle w} weg, was aus dem ursprünglich ungerichteten Baum einen gewurzelten macht mit w {\displaystyle w} als Wurzel.
Den m {\displaystyle m} Kanten eines ungerichteten Baums kann man 2 m {\displaystyle 2^{m}} verschiedene Richtungen geben und so 2 m {\displaystyle 2^{m}} gerichtete Bäume ableiten. Genau n = m + 1 {\displaystyle n=m+1} davon sind Out-Trees und ebenso viele sind In-Trees. Entfernt man umgekehrt bei einem gerichteten Baum die Orientierung der Kanten, so erhält man einen ungerichteten Baum.
Eigenschaften
• Zwischen je zwei Knoten von G {\displaystyle G} gibt es genau einen Pfad.
• G {\displaystyle G} ist zusammenhängend und enthält keinen Kreis
• G {\displaystyle G} ist leer oder G {\displaystyle G} ist zusammenhängend und es gilt m = n − − 1 {\displaystyle m=n-1} .
• G {\displaystyle G} ist leer oder G {\displaystyle G} enthält keinen Kreis und es gilt m = n − − 1 {\displaystyle m=n-1} .
• G {\displaystyle G} ist minimal zusammenhängend, das heißt G {\displaystyle G} ist zusammenhängend, aber nicht mehr zusammenhängend, sobald man eine beliebige Kante daraus entfernt.
• G {\displaystyle G} ist maximal azyklisch, das heißt G {\displaystyle G} ist kreisfrei, aber jede weitere Kante zwischen zwei beliebigen Knoten erzeugt einen Kreis.
Im Falle unendlicher Graphen müssen hier die dritte und vierte Bedingung aus der Äquivalenz ausgenommen werden.
Beweise
• Zwischen je zwei Knoten von G {\displaystyle G} gibt es genau einen Pfad.
Zwischen je zwei Knoten von G {\displaystyle G} gibt es mindestens einen Pfad, weil jeder Baum zusammenhängend ist. Gäbe es zwei Knoten von G {\displaystyle G} mit mindestens zwei Pfaden, dann gäbe es zwei Knoten u {\displaystyle u} und v {\displaystyle v} auf diesen Pfaden, deren Pfade keinen gemeinsamen inneren Knoten haben (disjunkte Wege), zum Beispiel u , v 1 , … … , v k , v {\displaystyle u,v_{1},\dots ,v_{k},v} und u , u 1 , … … , u l , v {\displaystyle u,u_{1},\dots ,u_{l},v} . Dann wäre u , v 1 , … … , v k , v , u l , ⋯ ⋯ , u 1 , u {\displaystyle u,v_{1},\dots ,v_{k},v,u_{l},\cdots ,u_{1},u} ein Kreis von G {\displaystyle G} im Widerspruch zur Annahme, dass G {\displaystyle G} ein Baum ist.
• G {\displaystyle G} ist leer oder G {\displaystyle G} ist zusammenhängend und es gilt m = n − − 1 {\displaystyle m=n-1} .
Dies lässt sich mit vollständiger Induktion zeigen. Für n = 1 {\displaystyle n=1} , also einen Baum mit einem einzelnen Knoten, gilt m = n − − 1 = 0 {\displaystyle m=n-1=0} , da er kreisfrei ist und somit keine Schlinge enthalten kann. Nach Induktionsvoraussetzung nehmen wir an, dass die Gleichung m = n − − 1 {\displaystyle m=n-1} für jeden Baum mit n − − 1 {\displaystyle n-1} Knoten gilt. Ist G {\displaystyle G} ein Graph mit n {\displaystyle n} Knoten und v 1 , v 2 , … … , v k {\displaystyle v_{1},v_{2},\dots ,v_{k}} die Knoten eines längsten Pfades von G {\displaystyle G} . Alle Nachbarn von v 1 {\displaystyle v_{1}} liegen auf diesem Pfad, sonst wäre er nicht der längste Pfad. Zudem ist v 2 {\displaystyle v_{2}} der einzige Nachbar von v 1 {\displaystyle v_{1}} , denn sonst würde G {\displaystyle G} einen Kreis enthalten. Entfernen wir v 1 {\displaystyle v_{1}} und die Kante ( v 1 , v 2 ) {\displaystyle (v_{1},v_{2})} aus G {\displaystyle G} , dann erhalten wir einen zusammenhängenden Graphen, denn v 2 {\displaystyle v_{2}} ist der einzige Nachbar von v 1 {\displaystyle v_{1}} . Der entstandene Graph hat genau einen Knoten und eine Kante weniger als G {\displaystyle G} , also n − − 1 {\displaystyle n-1} Knoten. Nach Induktionsvoraussetzung gilt m = n − − 1 {\displaystyle m=n-1} , also hat der entstandene Graph m − − 1 = n − − 2 {\displaystyle m-1=n-2} Kanten. Daraus folgt, dass der Graph G {\displaystyle G} genau n {\displaystyle n} Knoten und m = n − − 1 {\displaystyle m=n-1} Kanten hat.
• G {\displaystyle G} ist minimal zusammenhängend, das heißt G {\displaystyle G} ist zusammenhängend, aber nicht mehr zusammenhängend, sobald man eine beliebige Kante daraus entfernt.
Wäre G {\displaystyle G} nach Entfernen der Kante e = ( u , v ) {\displaystyle e=(u,v)} immer noch zusammenhängend, dann würde der entstandene Graph einen Pfad u , v 1 , … … , v k , v {\displaystyle u,v_{1},\dots ,v_{k},v} von u {\displaystyle u} nach v {\displaystyle v} enthalten und u , v 1 , … … , v k , v , u {\displaystyle u,v_{1},\dots ,v_{k},v,u} wäre ein Kreis von G {\displaystyle G} .
• G {\displaystyle G} ist maximal azyklisch, das heißt G {\displaystyle G} ist kreisfrei, aber jede weitere Kante zwischen zwei beliebigen Knoten erzeugt einen Kreis.
Wäre G {\displaystyle G} nach Hinzufügen der Kante e = ( u , v ) {\displaystyle e=(u,v)} immer noch kreisfrei, dann würde G {\displaystyle G} keinen Pfad von u {\displaystyle u} nach v {\displaystyle v} enthalten und wäre nicht zusammenhängend im Widerspruch zur Annahme, dass G {\displaystyle G} ein Baum ist.
Weitere Eigenschaften
• Entfernt man einen Knoten zusammen mit den anliegenden Kanten, zerfällt ein Baum in einen Wald aus k {\displaystyle k} Bäumen, mit k {\displaystyle k} als Grad des entfernten Knotens.cite-ref-3[2] Entfernt man von einem Baum ein Blatt ( k = 1 {\displaystyle k=1} ), so ist der Rest immer noch ein Baum.cite-ref-0-1-1[1]
• Bäume sind aufgrund der Kreisfreiheit stets auch bipartit und können topologisch sortiert werden.
• Bäume sind planar.
Spezielle Bäume
Es existiert eine Vielzahl von Begriffen, die Bäume näher spezifizieren. So gibt es zum Beispiel
• den isolierten Knoten ohne Kanten
• lineare Graphen P n {\displaystyle P_{n}} . Die inneren Knoten haben jeweils genau zwei Nachbarn.
• Sterngraphen S n {\displaystyle S_{n}} oder K 1 , n {\displaystyle K_{1,n}} . Diese enthalten einen inneren Knoten und n {\displaystyle n} Blätter.
• Raupenbäume. Alle Blätter haben einen maximalen Abstand von 1 zu einem zentralen Pfad.
• Bäume mit konstantem Verzweigungsfaktor, also Grad der inneren Knoten (Bereichsbaum):
• Binärbäume (untergliedern eindimensionale Daten, innere Knoten haben zwei Nachfolger), darunter vollständige Binärbäume, AVL-Baum und Rot-Schwarz-Baum,
• Quadtrees (untergliedern zweidimensionale Daten, innere Knoten haben vier Nachfolger),
• Octrees (untergliedern dreidimensionale Daten, innere Knoten haben acht Nachfolger),
• Binomial-Bäume haben einen variablen, aber festgelegten Verzweigungsfaktor. Ein Binomial-Baum der Ordnung k {\displaystyle k} besitzt eine Wurzel mit Grad k {\displaystyle k} , deren Kinder genau die Ordnung k − − 1 , k − − 2 , … … , 0 {\displaystyle k-1,k-2,\dots ,0} besitzen.
• Bäume können nach ihrer Höhe, dem Gewicht der Knoten oder der Anordnung der Wurzel balanciert sein.
• Binärbaum mit Knotentypen
• Balancierter Binärbaum
• Binomial-Heap mit 13 Elementen. Die Schlüssel der Väter sind höchstens so groß wie die Schlüssel ihrer Kinder.
• Raupenbaum (caterpillar tree)
• Die Sterngraphen S 3 {\displaystyle S_{3}} , S 4 {\displaystyle S_{4}} , S 5 {\displaystyle S_{5}} und S 6 {\displaystyle S_{6}}
Zeichnen von Bäumen
• alle Kanten sind gerade Linien
• alle Knoten haben ganzzahlige Koordinaten
• möglichst kleiner Platzbedarf bei möglichst ästhetischem Ergebnis
• alle Kanten vom Elternelement zum Kind streng monoton fallend
Es gibt verschiedene Algorithmen, deren Ergebnisse recht verschieden aussehen. Meist lösen sie nur einige, aber nicht alle Wünsche an die Ausgabe. Bekannte Algorithmen sind die HV-Bäume und der Algorithmus von Walker.
Kombinatorik
Es gibt n n − − 2 {\displaystyle n^{n-2}} verschiedene bezeichnete Bäume mit n {\displaystyle n} Knoten. Diese Aussage ist als Cayley-Formel bekannt. Einen einfachen Beweis liefert der Prüfer-Code, der eine Bijektion zwischen allen möglichen Codes der Länge n − − 2 {\displaystyle n-2} und allen bezeichneten Bäumen auf n {\displaystyle n} Knoten ermöglicht.
Wenn die Knoten nicht nummeriert sind, isomorphe Bäume (siehe Isomorphie von Graphen) also nicht mitgezählt werden, verhält sich diese Anzahl asymptotisch wie C ⋅ ⋅ α α n ⋅ ⋅ n − − 5 2 {\displaystyle \textstyle C\cdot \alpha ^{n}\cdot n^{-{\frac {5}{2}}}} mit C ≈ ≈ 0,534 949606 {\displaystyle C\approx 0{,}534949606} und α α ≈ ≈ 2,955 76528565 {\displaystyle \alpha \approx 2{,}95576528565} , wie Richard Otter im Jahr 1948 bewies.cite-ref-5[4] Eine genaue mathematische Formel ist nicht bekannt.
| Anzahl der Bäume | Anzahl der Bäume | Anzahl der Bäume |
|---|---|---|
| n | mit nummerierten Knoten | ohne nummerierte Knoten |
| 1 | 1 | 1 |
| 2 | 1 | 1 |
| 3 | 3 | 1 |
| 4 | 16 | 2 |
| 5 | 125 | 3 |
| 6 | 1.296 | 6 |
| 7 | 16.807 | 11 |
| 8 | 262.144 | 23 |
| 9 | 4.782.969 | 47 |
| 10 | 100.000.000 | 106 |
| 11 | 2.357.947.691 | 235 |
| 12 | 61.917.364.224 | 551 |
Spannbäume
→
Hauptartikel
:
Spannbaum
Jeder ungerichtete, zusammenhängende Graph enthält einen ihn aufspannenden Baum als Teilgraphen. Minimale Spannbäume haben eine möglichst kleine Anzahl von Kanten oder eine möglichst kleine Summe der Kantengewichte. Die Berechnung minimaler Spannbäume findet direkte Anwendung in der Praxis, beispielsweise für die Erstellung von kostengünstigen zusammenhängenden Netzwerken, wie beispielsweise Telefonnetzen oder elektrischen Netzen.
Verallgemeinerungen
Wald
→
Hauptartikel
:
Wald (Graphentheorie)
Ein Wald ist ein ungerichteter Graph, dessen Zusammenhangskomponenten Bäume sind.
k-Baum
Ein ungerichteter Graph heißt k {\displaystyle k} -Baum, wenn er wie folgt rekursiv erzeugbar ist:
• Der vollständige Graph K k {\displaystyle K_{k}} ist ein k {\displaystyle k} -Baum.
• Fügt man zu einem k {\displaystyle k} -Baum G {\displaystyle G} einen neuen Knoten v {\displaystyle v} hinzu, indem man v {\displaystyle v} mit allen Knoten einer Clique der Größe k {\displaystyle k} aus G {\displaystyle G} verbindet, so ist dieser neue Graph ebenfalls ein k {\displaystyle k} -Baum.
Ein partieller k {\displaystyle k} -Baum entsteht durch die Entfernung von Kanten aus einem k {\displaystyle k} -Baum: Ist G = ( V , E ) {\displaystyle G=(V,E)} ein k {\displaystyle k} -Baum, so ist H = ( V , F ) {\displaystyle H=(V,F)} mit F ⊆ ⊆ E {\displaystyle F\subseteq E} ein partieller k {\displaystyle k} -Baum.cite-ref-7[6]cite-ref-8[7]cite-ref-9[8]cite-ref-10[9]
Durch die angegebene Definition haben partielle k-Bäume immer mindestens k {\displaystyle k} Knoten, was nicht immer wünschenswert ist. Darum gibt es auch die folgende Definition:
Siehe auch
Anmerkungen
cite-note-21. Einige der dargestellten Bäume sind isomorph zueinander; nämlich beide Bäume in Fig. 2 sowie in Fig. 3 (von links gezählt) die Bäume 1 und 3 sowie 2 und 4. Es sind nur ungerichtete Bäume dargestellt. Fasst man den obersten Knoten als Wurzel auf, so ergeben sich entsprechend unterschiedliche (heteromorphe) gewurzelte Bäume.
Literatur
• Frank Gurski, Irene Rothe, Jörg Rothe, Egon Wanke: Exakte Algorithmen für schwere Graphenprobleme. Springer-Verlag, Berlin/Heidelberg 2010, ISBN 978-3-642-04499-1.
• Sven Krumke, Hartmut Noltemeier: Graphentheoretische Konzepte und Algorithmen. 3. Auflage. Springer Vieweg Verlag, Wiesbaden 2012, ISBN 978-3-8348-1849-2.
Siehe auch
:
Literatur zur Graphentheorie
Weblinks
Commons
: Baumstrukturen
– Sammlung von Bildern, Videos und Audiodateien
Einzelnachweise
cite-note-0-11. ↑ Reinhard Diestel: Graphentheorie. 3., neu bearb. und erw. Auflage. Springer, Berlin 2006, ISBN 3-540-21391-0, S. 14.
cite-note-32. ↑ Angelika Steger: Diskrete Strukturen. 2. Auflage. Band 1: Kombinatorik, Graphentheorie, Algebra. Springer, Berlin 2007, ISBN 978-3-540-46660-4, S. 65.
cite-note-43. ↑ Stephan Hußmann, Brigitte Lutz-Westphal: Kombinatorische Optimierung erleben : in Studium und Unterricht. 1. Auflage. Vieweg, Wiesbaden 2007, ISBN 978-3-528-03216-6, S. 47.
cite-note-76. ↑ Frank Gurski, Irene Rothe, Jörg Rothe, Egon Wanke: Exakte Algorithmen für schwere Graphenprobleme. Springer-Verlag, Berlin/Heidelberg 2010, ISBN 978-3-642-04499-1.
cite-note-87. ↑ Sven Krumke, Hartmut Noltemeier: Graphentheoretische Konzepte und Algorithmen. Vieweg+Teubner Verlag, 2012, ISBN 978-3-8348-2264-2.
cite-note-98. ↑ Daniel Granot: On some optimization problems on k-trees and partial k-trees. In: Discrete Applied Mathematics. Elsevier, 1994.
cite-note-109. ↑ Janka Chlebı́ková: Partial k-trees with maximum chromatic number. In: Discrete Applied Mathematics. 2002.
cite-note-1110. ↑ Xiao Zhou, Shin-ichi Nakano, Takao Nishizeki: Edge-Coloring Partial k-Trees. In: Journal of Algorithms. Nr. 21, 1996, S. 598–617.
cite-note-1211. ↑ Ton Kloks: Treewidth. Springer-Verlag, Berlin/Heidelberg 1994, ISBN 3-540-48672-0.
cite-note-1312. ↑ A. Yamaguchi, H. Mamitsuka: Finding the Maximum Common Subgraph of a Partial k-Tree and a Graph with a Polynomially Bounded Number of Spanning Trees. Springer, Berlin/Heidelberg 2003, ISBN 3-540-24587-1.
cite-note-1413. ↑ Hans L. Bodlaender: A partial k-arboretum of graphs with bounded treewidth. In: Theoretical Computer Science. 1998, S. 1–45.
cite-note-1514. ↑ Jan van Leeuwen: Algorithms and Complexity Theory. In: Handbook of Theoretical Computer Science. vol. A. North Holland, Amsterdam 1990, S. 527–631.